package com.yuandian.api.management.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.time.LocalDateTime;
import java.util.List;

import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 中台监控-服务配置表-实体
 * @author zfsn
 * @date 2023-4-18
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "中台监控-服务配置表", description = "")
@TableName("conf_mp_service")
public class ConfMpService extends Model<ConfMpService> {

	/**
	 * 主键，唯一标识数据
	 */
	@ApiModelProperty(value = "主键", notes = "主键，唯一标识数据")
	@TableId(type = IdType.AUTO)
	private Integer id;

	/**
	 * 所属能力id
	 */
	@ApiModelProperty(value = "所属能力id", notes = "所属能力id")
	private Integer abilityId;

	/**
	 * 所属中台id，字典：mp_type
	 */
	@ApiModelProperty(value = "所属中台id", notes = "所属中台id，字典：mp_type")
	private String middlePlatformId;

	/**
	 * 服务调用模式编码，字典：mp_service_invocation
	 */
	@ApiModelProperty(value = "服务调用模式编码", notes = "服务调用模式编码，字典：mp_service_invocation")
	private String invocationMode;

	/**
	 * 服务编码，固定12位
	 */
	@ApiModelProperty(value = "服务编码", notes = "服务编码，固定12位")
	private String serviceCode;

	/**
	 * 服务名称
	 */
	@ApiModelProperty(value = "服务名称", notes = "服务名称")
	private String serviceName;

	/**
	 * 是否频繁访问，0：否(默认)、1：是
	 */
	@ApiModelProperty(value = "是否频繁访问", notes = "是否频繁访问，0：否(默认)、1：是")
	private Integer isFrequentAccess;

	/**
	 * 中断耗时阈值，默认300秒(5分钟)
	 */
	@ApiModelProperty(value = "中断耗时阈值", notes = "中断耗时阈值，默认300秒(5分钟)")
	private Integer interruptTimeThreshold;

	/**
	 * 快速响应上限阈值
	 */
	@ApiModelProperty(value = "快速响应上限阈值", notes = "快速响应上限阈值")
	private Integer fastResUplimitThreshold;

	/**
	 * 正常响应上限阈值
	 */
	@ApiModelProperty(value = "正常响应上限阈值", notes = "正常响应上限阈值")
	private Integer normalResUplimitThreshold;

	/**
	 * 缓慢响应上限阈值
	 */
	@ApiModelProperty(value = "慢响应上限阈值", notes = "缓慢响应上限阈值")
	private Integer slowResUplimitThreshold;

	/**
	 * 显示顺序
	 */
	@ApiModelProperty(value = "显示顺序", notes = "显示顺序")
	private Integer sequence;

	/**
	 * 创建人
	 */
	@ApiModelProperty(value = "创建人", notes = "创建人")
	private String createBy;

	/**
	 * 创建时间
	 */
	@ApiModelProperty(value = "创建时间", notes = "创建时间")
	private LocalDateTime createTime;

	/**
	 * 更新人
	 */
	@ApiModelProperty(value = "更新人", notes = "更新人")
	private String updateBy;

	/**
	 * 更新时间
	 */
	@ApiModelProperty(value = "更新时间", notes = "更新时间")
	private LocalDateTime updateTime;

	/**
	 * 是否逻辑删除，0：否、1：是
	 */
	@ApiModelProperty(value = "是否逻辑删除", notes = "是否逻辑删除，0：否、1：是")
	private Integer isDel;

	/**
	 * 备注
	 */
	@ApiModelProperty(value = "备注", notes = "备注")
	private String remarks;


	/**
	 * 主量纲(中台二期新增)
	 */
	@ApiModelProperty(value = "主量纲", notes = "主量纲")
	private String majorDimension;

	/**
	 * 副量纲，多个则用 ‘,’ 隔开(中台二期新增)
	 */
	@ApiModelProperty(value = "副量纲", notes = "副量纲")
	private String subDimension;

	/**
	 * 副量纲 切割成 List 返回给前端
	 */
	@TableField(exist = false)
	private List<String> subDimensionList;

	/**
	 * 系统Id
	 */
	@TableField(exist = false)
	private String systemId;

	/**
	 * 系统名称
	 */
	@TableField(exist = false)
	private String systemName;

	/**
	 * 单位编码
	 */
	@TableField(exist = false)
	private String orgCode;

	/**
	 * 单位名称
	 */
	@TableField(exist = false)
	private String orgName;
}